package com.ruoyi.tzzl.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 小程序用户Mapper接口
 * @author by caoyong
 * @date 2022/11/7
 **/

@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("wz_program_user")
public class WzProgramUser {

    private static final long serialVersionUID = 1L;

    /** 用户id */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private Long phone;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String userName;

    /** 实名姓名 */
    @Excel(name = "微信名称")
    private String name;

    /** 微信头像 */
    @Excel(name = "微信头像")
    private String avatarurl;

    /** 用户唯一id(小程序用户code值) */
    @Excel(name = "用户唯一id(小程序用户code值)")
    private String openId;

    /**年龄*/
    private Long age;

    /** (性别:1-男 2-女) */
    @Excel(name = "(性别:1-男 2-女)")
    private String sex;

    /** 所在位置 */
    @Excel(name = "所在位置")
    private String location;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 维度 */
    @Excel(name = "维度")
    private String latitude;


    /** 可提现佣金 */
    @Excel(name = "可提现佣金")
    private Double carryCommission;


    /** 友币 */
    @Excel(name = "友币")
    private Long friendc;

    /** 邀请人ID */
    @Excel(name = "邀请人ID")
    private Long inviterId;

    /**团队红娘ID*/
    private Long matchmakerId;

    /**发展会员人数*/
    private int membersNumber;

    /** 红娘等级(1-普通红娘 2-中级 3-高级) */
    @Excel(name = "红娘等级(1-普通红娘 2-中级 3-高级)")
    private String matchmakerLevel;

    /** 用户等级(1-普通用户 2-年费会员) */
    @Excel(name = "用户等级(1-普通用户 2-年费会员)")
    private String userLevel;

    /**
     * 用户角色(1-普通角色 2-会员 3-红娘)
     */
    @Excel(name = "用户角色(1-普通角色 2-会员 3-红娘)")
    private String role;

    /**
     * 状态(1-正常 2-禁用)
     */
    @Excel(name = "状态(1-正常 2-禁用)")
    private String status;

    /**
     * 实名状态(0-未实名 1-已实名)
     */
    private String realNameStatus;

    /**实名时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date realNameTime;

    /**
     * 在线状态(0-离线   1-在线)
     */
    private String onlineStatus;

    /**
     * 成为下级时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date subordinateTime;

    /**
     * 是否开通免费会员(0-未开通  1-已开通)
     */
    private String freeMembership;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 变动时间
     */
    @Excel(name = "变动时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;

    /**
     * 距离
     */
    @TableField(exist = false)
    private Long juli;

    /**
     * 用户详细信息
     */
    @TableField(exist = false)
    private WzUserDetails wzUserDetails;


    /**
     * 邀请用户人数
     */
    @TableField(exist = false)
    private int invitationQuantity;

    /**累计友币*/
    @TableField(exist = false)
    private int theCumulative;


    /**
     * 年龄范围
     * ageRange == 1: 18-22  2: 23-28  3: 29-33 4: 34-39 5: 40-45 6: 46-51 7: 52-60
     */
    @TableField(exist = false)
    private String ageRange;

    /**
     * 红娘用户信息
     */
    @TableField(exist = false)
    WzProgramUser matchmakerUser;

    /**开始时间*/
    @TableField(exist = false)
    private String startTime;

    /**结束时间*/
    @TableField(exist = false)
    private String endTime;

    /**会员过期时间*/
    @TableField(exist = false)
    private long expirationTime;

    /**旗下会员人数*/
    @TableField(exist = false)
    private Integer membership;

    /**完成邀约订单次数*/
    @TableField(exist = false)
    private Integer invitationOrders;
}

